package org.tzw.template.logger;

import android.content.Context;
import android.util.Log;

import java.text.SimpleDateFormat;
import java.util.Date;

public class LocalLogger {

    // 是否调试模式
    private static boolean isDebug = true;
    // 日志日期格式化
    private static final SimpleDateFormat logsdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

    private static Context mContext;

    public static void init(Context context) {
        mContext = context.getApplicationContext();
//        isDebug = !AppConfig.isProd() || Utils.isDebug(context);
        isDebug = true;
    }

    public static void i(String tag, String msg) {
        if (isDebug) {
            Log.i(tag, msg);
            write(tag, msg);
        }
    }

    public static void w(String tag, String msg) {
        if (isDebug) {
            Log.w(tag, msg);
            write(tag, msg);
        }
    }

    public static void e(String tag, String msg) {
        if (isDebug) {
            Log.e(tag, msg);
            write(tag, msg);
        }
    }

    public static void e(String tag, Throwable t) {
        if (isDebug) {
            String msg = Log.getStackTraceString(t);
            e(tag, msg);
        }
    }

    private static void write(String tag, String msg) {
        StringBuilder log = new StringBuilder();
        log.append(logsdf.format(new Date()));
        log.append(" ");
        log.append(tag);
        log.append(": ");
        log.append(msg);
        log.append("\n");
        LogThread.getInstance().write(mContext, log.toString());
    }
}